home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / data / nos / nosmain.plt < prev    next >
Text File  |  1995-08-14  |  23KB  |  834 lines

  1. /************************************************************************
  2. *    Nifty Offline Signup                *
  3. *              Presented by    -なる-☆(NIFTY/PGA01332)&    *
  4. *                    Yama-chan(NIFTY/PEE01244)    *
  5. *************************************************************************/
  6. /*    メモ&ファイル    */
  7. var    MEMOno[1];
  8. var    BELFIL[64];
  9.  
  10. /*    設定ファイルのパス名    */
  11. var    SETFILE    [64];
  12. var    SETFILE1[64];
  13.  
  14. /*    ディレクトリ    */
  15. var     TEMP    [64];
  16. var     SOUND    [64];
  17.  
  18. /*    画面背景色    */
  19. var     R[3];        var     G[3];        var     B[3];
  20.  
  21. var    ROAD1[30];    var    ROAD2[30];    var    ROAD3[30];
  22. var    RD3SPEED[5];
  23. var    AP3[3];        var    DIAL[1];    var    MODEM[50];
  24. var    SERno[16];    var    AGRno[16];    var    ComID[1];
  25. var    LINEno[2];    var    OPEN[1];
  26.  
  27. var    NAME[16];    var    Lname[15];    var    Fname[15];
  28. var    SEX[1];        var    BIRTHDAY[10];
  29.  
  30. var    CITY[2];    var    myCITY[10];    var    RmyCITY    [32];
  31. var    myBANCHI[40];    var    myKATAGAKI[40];
  32. var    RmyBANCHI[30];    var    RmyKATAGAKI[30];
  33. var    YUBINno[6];    var    TELno[20];    var    BUSINESS[2];
  34.  
  35. var    OFFICE[60];    var    KAKARI[60];    var    OFFICEno[20];
  36. var    CLEDIT[2];    var    MEMBER[19];    var    LIMIT[5];
  37. var    MAKER[2];    var    MACHINE[16];    var    NIFTY[2];
  38. var    YesNo[1];
  39.  
  40. /*    ID & PASSWORD    */
  41. var     ID[16];        var     PW[16];
  42.  
  43. /*    初期環境設定    */
  44. %init    {
  45.     case    (R<>{} && G<>{} && B<>{},{Yes},{backclr(R,G,B)});
  46.     case    (@tail(BELFIL,{.}),
  47.         {snd},{bellfile(BELFIL)},
  48.         {SND},{bellfile(BELFIL)});
  49.     case    (SOUND<>{}&&@setcdir2(SOUND)={No},{Yes},{mkdir2(SOUND)});
  50.     chat({Yes});
  51.     };
  52.  
  53. /*    MOPTERMのバージョン    */
  54. %mopver @tail(@version,{for },{ });
  55.  
  56. /*    N.O.S.のヴァージョン・レベル        */
  57. %VERLEV        {Ver 1.21b};
  58. %VerLev        {Ver1.21b};
  59.  
  60. %DEBUG    {No};        /*    デバッグモード    */
  61.  
  62. /*    音声ファイル 出力 処理        */
  63. %BELL    @xc({07});
  64.  
  65. %SNDMSG    {
  66.     [file]
  67.     case    (SOUND={}||SOUND={\},
  68.         {No},
  69.         {
  70.         var    File    [64];
  71.         case    (mopver={Win31},
  72.             {Yes},{File:=@body(file,,{.})|{.wav}},
  73.             {No},{File:=file});
  74.         case    (@filechk(@dir2(SOUND)|File),
  75.                 {Yes},{snd(@dir2(SOUND)|File)},
  76.                 {No}, {display(BELL)})},
  77.         {Yes},    {display(BELL)}
  78.         );
  79.     };
  80.  
  81. /* パラメタで指定されたディレクトリへ移動する(「A:\」と「A:」の両方が可能) */
  82. %setcdir2{
  83.     [dir]
  84.     setcdir(@case(@nochar(dir),2,{im(dir|{\})},,{im(dir)}));
  85.     };
  86.  
  87. /* 指定されたディレクトリーを(もし,無ければ)作成する。 */
  88. %mkdir2    {
  89.     [dir]
  90.     case    (@setcdir2(dir),
  91.         {No},
  92.         {case    (@nochar(dir)==2,
  93.             {Yes},
  94.             {
  95.             display({装置(}|dir|{)が使えません\n});
  96.             SNDMSG({okasi_f.snd});
  97.             }, 
  98.             {No},
  99.             {
  100.             mkdir2(@body(dir,,{\}));
  101.             setcdir2(@body(dir,,{\}));
  102.             mkdir(@tail(dir,{\}));
  103.             });
  104.         });
  105.     };
  106.  
  107. /*    ディレクトリの最終に『\』を付加する    */
  108. %dir2    {
  109.     [dir]
  110.     case    (@nochar(dir)==3,
  111.         {No},{im(dir|{\})},{Yes},{im(dir)}
  112.         );
  113.     };
  114.  
  115. /*    指定ディレクトリのサブディレクトリ名を返す    */
  116. %subdir    {
  117.     [dir,sdir]
  118.     im(@dir2(dir)|sdir);
  119.     };
  120.  
  121. /*    全ての MEMO を クローズ する    */
  122. %CloseAllMemo{
  123.     case    (@mlast!=0 && @mcheck==0,{Yes},{mopen(@mlast)});
  124.     case    (@mcheck!=0,{Yes},
  125.         {loop    ({mclose(2);  im(@mcheck!=0);});
  126.         });
  127.     };
  128.  
  129. /*    MEMO を クリア する    */
  130. %DELmemo{
  131.     case(@mcheck,{0},{mopen(1); }); mclose(3);
  132.     };
  133.  
  134. %ALLClear{
  135.     loop    ({ 
  136.         case    (@mlast<>{0},
  137.             {Yes},{DELmemo; im({Yes});},
  138.             {No},{im({No});
  139.             });
  140.         });
  141.     };
  142.  
  143. %DELAllMemo{
  144.     case    (@mlast > 0,
  145.         {Yes},
  146.         {
  147.         MEMOno:=0;
  148.         CloseAllMemo;
  149.         loop    ({mopen(@mlast);
  150.             mclose(3);
  151.             im(@mlast > 0);
  152.             });
  153.         });
  154.     };
  155.  
  156. %PLTSTOP{    /*    パイロット停止処理(PF2キーで再起動)    */
  157.     display({\nN.O.S.(}|VerLev|{) を終了します(PF2キーで再起動)\n});
  158.     setpf(2,{footnote({NOS Loading,,,♪});}|
  159.                 {setcdir(@getcdir); #NOSMAIN.PLT;});
  160.     };
  161.  
  162. /*    背景色の設定    */
  163. %setCOLOR{
  164.     case    (R,{},{R:=0});
  165.     case    (G,{},{G:=0});
  166.     case    (B,{},{B:=0});
  167.     SNDMSG({erande.snd});
  168.     footnote({背景色の変更中,,,♪( 変更前 R=}|R|{,G=}|G|{,B=}|B|{ )});
  169.     loop    ({
  170.         select    ({[赤・緑・青]を左クリックしてネ☆}|
  171.                 {(現在の色は R=}|R|{,G=}|G|{,B=}|B|{)},
  172.             999,{im({No})},
  173.         {赤↑ワン・クリック[+10]},
  174.         {case(R<246,{Yes},{R:=R+10;backclr(R,G,B)});im({Yes})},
  175.         {緑↑ワン・クリック[+10]},
  176.         {case(G<246,{Yes},{G:=G+10;backclr(R,G,B)});im({Yes})},
  177.         {青↑ワン・クリック[+10]},
  178.         {case(B<246,{Yes},{B:=B+10;backclr(R,G,B)});im({Yes})},
  179.         {赤↓ワン・クリック[-10]},
  180.         {case(R>  9,{Yes},{R:=R-10;backclr(R,G,B)});im({Yes})},
  181.         {緑↓ワン・クリック[-10]},
  182.         {case(G>  9,{Yes},{G:=G-10;backclr(R,G,B)});im({Yes})},
  183.         {青↓ワン・クリック[-10]},
  184.         {case(B>  9,{Yes},{B:=B-10;backclr(R,G,B)});im({Yes})},
  185.             {     終  了     },{im({No})}
  186.             );
  187.         });
  188.     };
  189.  
  190. /*    ドライブディレクトリ & 背景色設定書き込み制御文    */
  191. %setINIT{
  192.     %snddir    SOUND;
  193.     %colorR    R;
  194.     %colorG    G;
  195.     %colorB    B;
  196.  
  197.     loop    ({
  198.         footnote({N.O.S.初期環境情報の設定処理中,,,♪});
  199.         SNDMSG({nyuryoku.snd});
  200.         %a @plane(
  201.             {c 初期環境情報を入力してネ☆(^_^)/♪\n}|
  202.             {c\n}|
  203.             {t サウンド・ファイル格納用ディレクトリ/\n}|
  204.             {c(ドライブやディレクトリは、フルパスで指定\n}|
  205.             {c サウンド・ファイルを使用しない場合は、ドライブのみ指定)\n}|
  206.             {c\n}|
  207.             {t 背景色[赤]( 0~255)/xxx\n}|
  208.             {t 背景色[緑]( 0~255)/xxx\n}|
  209.             {t 背景色[青]( 0~255)/xxx\n}|
  210.             {c\n}|
  211.             {s                 /   設定する   \n},
  212.             snddir,colorR,colorG,colorB);
  213.         %snddir    @head(@getline(a,1,1),{\n});
  214.         %colorR    @head(@getline(a,2,1),{\n});
  215.         %colorG    @head(@getline(a,3,1),{\n});
  216.         %colorB    @head(@getline(a,4,1),{\n});
  217.         %ok    @head(@getline(a,5,1),{\n});
  218.         case    (ok,
  219.             { 1},    {
  220.                 SOUND:=@dir2(snddir);mkdir2(SOUND);
  221.                 R:=colorR;
  222.                 G:=colorG;
  223.                 B:=colorB;
  224.                 im({No});
  225.                 },
  226.             ,    {im({Yes})}
  227.             );
  228.         });
  229.     };
  230.  
  231. /*    アクセスポイント電話番号の設定制御文    */
  232. %setTEL    {
  233.     case(DIAL,{T},{DIAL:={1}},{P},{DIAL:={2}});
  234.     case(RD3SPEED,{4800},{RD3SPEED:={1}},
  235.         {9600},{RD3SPEED:={2}},{19200},{RD3SPEED:={3}});
  236.     %rd1    ROAD1;
  237.     %rd2    ROAD2;
  238.     %rd3    ROAD3;
  239.     %dial    DIAL;
  240.     %rd3speed    RD3SPEED;
  241.     loop    ({
  242.         footnote({アクセス・ポイント電話番号の設定処理中,,,♪});
  243.         SNDMSG({nyuryoku.snd});
  244.         %a @plane(
  245.             {cアクセス・ポイントの電話番号を設定してネ☆(^_^)/♪\n}|
  246.             {c(いずれか一つ以上設定してください)\n}|
  247.             {tROAD1の電話番号:/\n}|
  248.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  249.             {c ROAD1の場合、電話番号の後に スラッシュ「/」と「通信速度」\n}|
  250.             {c を追加してください(例:「/1200」又は「/2400」)\n}|
  251.             {tROAD2の電話番号:/\n}|
  252.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  253.             {c\n}|
  254.             {tROAD3の電話番号:/\n}|
  255.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  256.             {rROAD3・4の通信速度の指定 /4800  /9600  /19200\n}|
  257.             {c\n}|
  258.             {r 電話回線の種類  /プッシュホン回線   /ダイヤルパルス回線\n}|
  259.             {s                 /   設定する   \n},
  260.             rd1,rd2,rd3,rd3speed,dial);
  261.         %rd1    @head(@getline(a,1,1),{\n});
  262.         %rd1sel    @head(@getline(a,2,1),{\n});
  263.         %rd2    @head(@getline(a,3,1),{\n});
  264.         %rd2sel    @head(@getline(a,4,1),{\n});
  265.         %rd3    @head(@getline(a,5,1),{\n});
  266.         %rd3sel    @head(@getline(a,6,1),{\n});
  267.         %rd3speed@head(@getline(a,7,1),{\n});
  268.         %dial    @head(@getline(a,8,1),{\n});
  269.         %ok    @head(@getline(a,9,1),{\n});
  270.         case(rd1sel,{ 1},{CDIR; #ROAD1.PLP; im({Yes})});
  271.         case(rd2sel,{ 1},{CDIR; #ROAD2.PLP; im({Yes})});
  272.         case(rd3sel,{ 1},{CDIR; #ROAD3.PLP; im({Yes})});
  273.         case(ok,{ 1},
  274.             {
  275.             ROAD1:=rd1;
  276.             ROAD2:=rd2;
  277.             ROAD3:=rd3;
  278.             AP3:=@case(ROAD3={},{Yes},{im({No})},{No},{im({Yes})});
  279.             RD3SPEED:=@case(rd3speed,{ 1},{im({4800})},
  280.                 { 2},{im({9600})},{ 3},{im({19200})},
  281.                     ,{im({4800})});
  282.             DIAL:=@case(dial,{ 1},{im({T})},{ 2},{im({P})},
  283.                     ,{im({P})});
  284.             im({No});
  285.             },
  286.             ,{im({Yes})});
  287.         });
  288.     };
  289.  
  290. /*    NIFTYでの初期情報設定書き込み制御文    */
  291. %setNIFTY{
  292.     case(OPEN,{},{OPEN:={1}},{1},{OPEN:={2}});
  293.     %modem        MODEM;
  294.     %serno        SERno;
  295.     %agrno        AGRno;
  296.     %lineno        LINEno;
  297.     %comid        ComID;
  298.     %open        OPEN;
  299.     %nifty        NIFTY;
  300.     loop    ({
  301.         footnote({NIFTY関係の情報の設定処理中,,,♪});
  302.         SNDMSG({nyuryoku.snd});
  303.         %a @plane(
  304.             {c NIFTY 関係の情報を入力してネ☆(^_^)/♪\n}|
  305.             {t ATモデム・コマンド:/\n}|
  306.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  307.             {c\n}|
  308.             {t SERIAL NUMBER   (8文字)  /xxxxxxxxxxxxxxxx\n}|
  309.             {t AGREEMENT NUMBER(8文字)  /xxxxxxxxxxxxxxxx\n}|
  310.             {t 画面の最大表示行数(9 ~ 99 )/xx\n}|
  311.             {r CompuServe IDの取得 /する   /しない \n}|
  312.             {r   個人情報の公開    /公開   /非公開 \n}|
  313.             {t NIFTYをどのようにして知りましたか?/xx\n}|
  314.             {s  (選択ボタンをクリックで検索メニュー表示 → /選択ボタン\n}|
  315.             {c\n}|
  316.             {s                                /   設定する   \n},
  317.             modem,serno,agrno,lineno,comid,open,nifty);
  318.         %modem    @head(@getline(a,1,1),{\n});
  319.         %mselct    @head(@getline(a,2,1),{\n});
  320.         %serno    @head(@getline(a,3,1),{\n});
  321.         %agrno    @head(@getline(a,4,1),{\n});
  322.         %lineno    @head(@getline(a,5,1),{\n});
  323.         %comid    @head(@getline(a,6,1),{\n});
  324.         %open    @head(@getline(a,7,1),{\n});
  325.         %nifty    @head(@getline(a,8,1),{\n});
  326.         %nifsel    @head(@getline(a,9,1),{\n});
  327.         %ok    @head(@getline(a,10,1),{\n});
  328.         case(mselct,{ 1},{CDIR; #MODEM.PLP; im({Yes})});
  329.         case(nifsel,{ 1},{CDIR; #NIFTY.PLP; im({Yes})});
  330.         case    (ok,
  331.             { 1},
  332.             {
  333.             MODEM:=modem;
  334.             SERno:=serno;
  335.             AGRno:=agrno;
  336.             LINEno:=lineno;
  337.             NIFTY:=nifty;
  338.             ComID:=@case(comid,{ 1},{im({1})},{ 2},{im({2})},
  339.                     ,{im({2})});
  340.             OPEN:=@case(open,{ 1},{im({})},{ 2},{im({1})},
  341.                     ,{im({1})});
  342.             im({No});
  343.             },
  344.             ,    {im({Yes})}
  345.             );
  346.         });
  347.     };
  348.  
  349. /*    氏名設定書き込み制御文    */
  350. %setNAME{
  351.     %name        NAME;
  352.     %lname        Lname;
  353.     %fname        Fname;
  354.     %sex        SEX;
  355.     %birthday    BIRTHDAY;
  356.     loop    ({
  357.         footnote({氏名等の情報を設定処理中,,,♪});
  358.         SNDMSG({nyuryoku.snd});
  359.         %a @plane(
  360.             {c 氏名を入力してネ☆(^_^)/♪\n}|
  361.             {c\n}|
  362.             {t 氏と名を入力(漢字で8文字まで)  }|
  363.                 {/xxxxxxxxxxxxxxxx\n}|
  364.             {c\n}|
  365.             {t 氏(ローマ字で20文字まで)例:YAMADA)}|
  366.                 {/xxxxxxxxxxxxxxxxxxxx\n}|
  367.             {t 名前(ローマ字で20文字まで)例:TARO)}|
  368.                 {/xxxxxxxxxxxxxxxxxxxx\n}|
  369.             {c\n}|
  370.             {r 性  別   /男性   /女性\n}|
  371.             {c\n}|
  372.             {c 生年月日 (西暦で入力 例:1965/09/30)\n}|
  373.             {t                           /xxxxxxxxxx\n}|
  374.             {c\n}|
  375.             {s                                /   設定する   \n},
  376.             name,lname,fname,sex,birthday);
  377.         %name    @head(@getline(a,1,1),{\n});
  378.         %lname    @head(@getline(a,2,1),{\n});
  379.         %fname    @head(@getline(a,3,1),{\n});
  380.         %sex    @head(@getline(a,4,1),{\n});
  381.         %birthday@head(@getline(a,5,1),{\n});
  382.         %ok    @head(@getline(a,6,1),{\n});
  383.         case    (ok,
  384.             { 1},    {
  385.                 NAME:=name;
  386.                 Lname:=lname;
  387.                 Fname:=fname;
  388.                 SEX:=@case(sex,{ 1},{im({1})},{ 2},{im({2})},
  389.                     ,{im({2})});
  390.                 BIRTHDAY:=birthday;
  391.                 im({No});
  392.                 },
  393.             ,    {im({Yes})}
  394.             );
  395.         });
  396.     };
  397.  
  398. /*    住所・電話番号設定書き込み制御文    */
  399. %setADRS{
  400.     %city        CITY;
  401.     %mycity        myCITY;
  402.     %rmycity    RmyCITY;
  403.     %mybanchi    myBANCHI;
  404.     %rmybanchi    RmyBANCHI;
  405.     %mykatagaki    myKATAGAKI;
  406.     %rmykatagaki    RmyKATAGAKI;
  407.     %yubinno    YUBINno;
  408.     %telno        TELno;
  409.     loop    ({
  410.         footnote({住所・肩書・電話番号等々の設定処理中,,,♪});
  411.         SNDMSG({nyuryoku.snd});
  412.         %a @plane(
  413.             {c住所/肩書/郵便・電話番号を入力してネ☆(^_^)/♪\n}|
  414.             {t都道府県コード/xx\n}|
  415.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  416.             {t市郡名(例:横浜市,千代田区等)  /xxxxxxxxxx\n}|
  417.             {t市郡名(ローマ字 23区は区名も 例:YOKOHAMASHI)}|
  418.                 {/\n}|
  419.             {t所番地(20文字 例:大山 6-26-1)}|
  420.                 {/\n}|
  421.             {t所番地(ローマ字で30文字 例:6-26-1 OYAMA)}|
  422.                 {/\n}|
  423.             {t方書(20文字 例:ベルハイム 206 )}|
  424.                 {/\n}|
  425.             {t方書(ローマ字で30文字 例:BERUHAIMU 206)}|
  426.                 {/\n}|
  427.             {t郵便番号(例:102)/xxxxxx\n}|
  428.             {t自宅電話番号(市外局番も 例:03-5471-5800)/\n}|
  429.             {s                                /   設定する   \n},
  430.             city,mycity,rmycity,mybanchi,rmybanchi,mykatagaki,
  431.             rmykatagaki,yubinno,telno);
  432.  
  433.         %city        @head(@getline(a,1,1),{\n});
  434.         %citysel    @head(@getline(a,2,1),{\n});
  435.         %mycity        @head(@getline(a,3,1),{\n});
  436.         %rmycity    @head(@getline(a,4,1),{\n});
  437.         %mybanchi    @head(@getline(a,5,1),{\n});
  438.         %rmybanchi    @head(@getline(a,6,1),{\n});
  439.         %mykatagaki    @head(@getline(a,7,1),{\n});
  440.         %rmykatagaki    @head(@getline(a,8,1),{\n});
  441.         %yubinno    @head(@getline(a,9,1),{\n});
  442.         %telno        @head(@getline(a,10,1),{\n});
  443.         %ok        @head(@getline(a,11,1),{\n});
  444.         case(citysel,{ 1},{CDIR; #CITY.PLP; im({Yes})});
  445.         case    (ok,
  446.             { 1},    {
  447.                 CITY:=city;
  448.                 myCITY:=mycity;
  449.                 RmyCITY:=rmycity;
  450.                 myBANCHI:=mybanchi;
  451.                 RmyBANCHI:=rmybanchi;
  452.                 myKATAGAKI:=mykatagaki;
  453.                 RmyKATAGAKI:=rmykatagaki;
  454.                 YUBINno:=yubinno;
  455.                 TELno:=telno;
  456.                 im({No});
  457.                 },
  458.             ,    {im({Yes})}
  459.             );
  460.         });
  461.     };
  462.  
  463. /*    勤務先・電話番号設定書き込み制御文    */
  464. %setOFFICE{
  465.     %office        OFFICE;
  466.     %kakari        KAKARI;
  467.     %officeno    OFFICEno;
  468.     %business    BUSINESS;
  469.     loop    ({
  470.         footnote({勤務先・電話番号等の設定処理中,,,♪});
  471.         SNDMSG({nyuryoku.snd});
  472.         %a @plane(
  473.             {c 勤務先・電話番号を入力してネ☆(^_^)/♪\n}|
  474.             {c\n}|
  475.             {t 勤務先(全角30文字以内)/\n}|
  476.             {c\n}|
  477.             {t 部課名(全角30文字以内)/\n}|
  478.             {c\n}|
  479.             {t 電話番号(市外局番も 例:03-5471-5800)/\n}|
  480.             {c\n}|
  481.             {t 業種種別 (1~14)               /xx\n}|
  482.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  483.             {c\n}|
  484.             {s                                /   設定する   \n},
  485.             office,kakari,officeno,business);
  486.         %office        @head(@getline(a,1,1),{\n});
  487.         %kakari        @head(@getline(a,2,1),{\n});
  488.         %officeno    @head(@getline(a,3,1),{\n});
  489.         %business    @head(@getline(a,4,1),{\n});
  490.         %bsnsel        @head(@getline(a,5,1),{\n});
  491.         %ok        @head(@getline(a,6,1),{\n});
  492.         case(bsnsel,{ 1},{CDIR; #BUSINESS.PLP; im({Yes})});
  493.         case    (ok,
  494.             { 1},    {
  495.                 OFFICE:=office;
  496.                 KAKARI:=kakari;
  497.                 OFFICEno:=officeno;
  498.                 BUSINESS:=business;
  499.                 im({No});
  500.                 },
  501.             ,    {im({Yes})}
  502.             );
  503.         });
  504.     };
  505.  
  506. /*    クレジットカード・会員番号設定書き込み制御文    */
  507. %setCLEDIT{
  508.     %cledit        CLEDIT;
  509.     %member        MEMBER;
  510.     %limit        LIMIT;
  511.     loop    ({
  512.         footnote({クレジットカード・会員番号等の設定処理中,,,♪});
  513.         SNDMSG({nyuryoku.snd});
  514.         %a @plane(
  515.             {c クレジットカード・会員番号を入力してネ☆(^_^)/♪\n}|
  516.             {t クレジットカード種別           /xx\n}|
  517.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  518.             {c\n}|
  519.             {t 会員番号(例:XXXX XXXX XXXX XXXX)}|
  520.                     {/xxxxxxxxxxxxxxxxxxx\n}|
  521.             {c 有効期限(例:11/96)\n}|
  522.             {t 有効期限      /xxxxx\n}|
  523.             {c\n}|
  524.             {s                               /   設定する   \n},
  525.             cledit,member,limit);
  526.         %cledit        @head(@getline(a,1,1),{\n});
  527.         %clsel        @head(@getline(a,2,1),{\n});
  528.         %member        @head(@getline(a,3,1),{\n});
  529.         %limit        @head(@getline(a,4,1),{\n});
  530.         %ok        @head(@getline(a,5,1),{\n});
  531.         case(clsel,{ 1},{CDIR; #CLEDIT.PLP; im({Yes})});
  532.         case    (ok,
  533.             { 1},    {
  534.                 CLEDIT:=cledit;
  535.                 MEMBER:=member;
  536.                 LIMIT:=limit;
  537.                 im({No});
  538.                 },
  539.             ,    {im({Yes})}
  540.             );
  541.         });
  542.     };
  543.  
  544. /*    パソコンのメーカ・機種設定書き込み制御文    */
  545. %setMACHINE{
  546.     %maker        MAKER;
  547.     %machine    MACHINE;
  548.     loop    ({
  549.         footnote({メーカー及び機種名の設定処理中,,,♪});
  550.         SNDMSG({nyuryoku.snd});
  551.         %a @plane(
  552.             {c メーカー番号及び機種名を入力してネ☆(^_^)/♪\n}|
  553.             {c\n}|
  554.             {t パソコン/ワープロのメーカ番号 /xx\n}|
  555.             {s(選択ボタンをクリックで検索メニュー表示→/選択ボタン\n}|
  556.             {c\n}|
  557.             {tパソコン・ワープロの機種名(漢字8文字)}|
  558.                 {/xxxxxxxxxxxxxxxx\n}|
  559.             {c\n}|
  560.             {s                                /   設定する   \n},
  561.             maker,machine);
  562.         %maker        @head(@getline(a,1,1),{\n});
  563.         %mksel        @head(@getline(a,2,1),{\n});
  564.         %machine    @head(@getline(a,3,1),{\n});
  565.         %ok        @head(@getline(a,4,1),{\n});
  566.         case(mksel,{ 1},{CDIR; #MAKER.PLP; im({Yes})});
  567.         case    (ok,
  568.             { 1},    {
  569.                 MAKER:=maker;
  570.                 MACHINE:=machine;
  571.                 im({No});
  572.                 },
  573.             ,    {im({Yes})}
  574.             );
  575.         });
  576.     };
  577.  
  578. /*    設定情報をファイルに保存する    */
  579. %writeSET{
  580.     [file]
  581.     CDIR;
  582.     dispoff(!DEBUG);
  583.     command({copy }|file|{ *.BAK});
  584.     command({del }|file);
  585.     dispoff({No});
  586.     %MEMOno @mlast+1;
  587.     %SETdata{[HEAD,DATA]
  588.         madd(MEMOno,HEAD|{:=}|@xc({7b})|DATA|@xc({7d})|{;\n});
  589.         };
  590.     SETdata({SOUND    },SOUND);
  591.     SETdata({R    },R);
  592.     SETdata({G    },G);
  593.     SETdata({B    },B);
  594.     SETdata({ROAD1    },ROAD1);
  595.     SETdata({ROAD2    },ROAD2);
  596.     SETdata({ROAD3    },ROAD3);
  597.     SETdata({AP3    },AP3);
  598.     SETdata({RD3SPEED},RD3SPEED);
  599.     SETdata({DIAL    },DIAL);
  600.     SETdata({MODEM    },MODEM);
  601.     SETdata({SERno    },SERno);
  602.     SETdata({AGRno    },AGRno);
  603.     SETdata({NAME    },NAME);
  604.     SETdata({Lname    },Lname);
  605.     SETdata({Fname    },Fname);
  606.     SETdata({SEX    },SEX);
  607.     SETdata({BIRTHDAY},BIRTHDAY);
  608.     SETdata({CITY    },CITY);
  609.     SETdata({myCITY    },myCITY);
  610.     SETdata({RmyCITY},RmyCITY);
  611.     SETdata({myBANCHI},myBANCHI);
  612.     SETdata({RmyBANCHI},RmyBANCHI);
  613.     SETdata({myKATAGAKI},myKATAGAKI);
  614.     SETdata({RmyKATAGAKI},RmyKATAGAKI);
  615.     SETdata({YUBINno},YUBINno);
  616.     SETdata({TELno    },TELno);
  617.     SETdata({OFFICE    },OFFICE);
  618.     SETdata({KAKARI    },KAKARI);
  619.     SETdata({OFFICEno},OFFICEno);
  620.     SETdata({BUSINESS},BUSINESS);
  621.     SETdata({ComID    },ComID);
  622.     SETdata({CLEDIT    },CLEDIT);
  623.     SETdata({MEMBER    },MEMBER);
  624.     SETdata({LIMIT    },LIMIT);
  625.     SETdata({MAKER    },MAKER);
  626.     SETdata({MACHINE},MACHINE);
  627.     SETdata({LINEno    },LINEno);
  628.     SETdata({OPEN    },OPEN);
  629.     SETdata({NIFTY    },NIFTY);
  630.     SETdata({YesNo    },YesNo);
  631.     SETdata({ID    },ID);
  632.     SETdata({PW    },PW);
  633.  
  634.     loop    ({ 
  635.         case    (@mcheck<>{0},
  636.             {Yes},{mclose(1); im({Yes});},
  637.             {No},{im({No})});
  638.         });
  639.     case    (@head(@getcdir,{:})={Q},
  640.         {Yes},
  641.         {display({Aドライブに設定ファイルを保存します。}|
  642.             {準備はよろしいですか☆\n\n});
  643.         mkdir2({A:\NOS});mwrite({A:\NOS\}|file,MEMOno);},
  644.         {No},{mwrite(file,MEMOno)}
  645.         );
  646.     
  647.     mopen(MEMOno,0,21,639,459);
  648.     mclose(3);
  649.     /*    display({\n☆設定内容を保存しました☆\n\n});    */
  650.     };
  651.  
  652. /*    未設定情報を画面に表示する    */
  653. %MSGDSP{
  654.     %MSGdata{
  655.         [PARA,MSG]
  656.         case(PARA,{},{display(MSG|{が未設定です☆\n})});
  657.         };
  658.     MSGdata(ROAD1 && ROAD2 && ROAD3,{☆アクセスポイントの電話番号});
  659.     MSGdata(MODEM,{☆モデムコマンド});
  660.     MSGdata(SERno,{☆シリアルナンバー});
  661.     MSGdata(AGRno,{☆アグリーメントナンバー});
  662.     MSGdata(NAME,{☆氏名});
  663.     MSGdata(Lname,{☆ラストネーム});
  664.     MSGdata(Fname,{☆ファーストネーム});
  665.     MSGdata(SEX,{☆性別});
  666.     MSGdata(BIRTHDAY,{☆生年月日});
  667.     MSGdata(CITY,{☆都道府県名の番号});
  668.     MSGdata(myCITY,{☆住所});
  669.     MSGdata(RmyCITY,{☆住所(ローマ字)});
  670.     MSGdata(myBANCHI,{☆番地});
  671.     MSGdata(RmyBANCHI,{☆番地(ローマ字)});
  672.     MSGdata(YUBINno,{☆郵便番号});
  673.     MSGdata(TELno,{☆電話番号});
  674.     MSGdata(OFFICE,{☆勤務先});
  675.     MSGdata(KAKARI,{☆所属});
  676.     MSGdata(OFFICEno,{☆勤務先電話番号});
  677.     MSGdata(BUSINESS,{☆業種種別番号});
  678.     MSGdata(CLEDIT,{☆クレジットカードの種別});
  679.     MSGdata(MEMBER,{☆会員番号});
  680.     MSGdata(LIMIT,{☆有効期限});
  681.     MSGdata(MAKER,{☆メーカ番号});
  682.     MSGdata(MACHINE,{☆機種名});
  683.     MSGdata(LINEno,{☆画面最大表示行数});
  684.     MSGdata(NIFTY,{☆NIFTY番号});
  685.     case    (YesNo,{1},
  686.         {display({☆再度オンライン・サインアップを実行します☆\n\n});
  687.         display({☆中止する場合は「AUTO」アイコンをクリック後「Pilot Stop?」}|
  688.             {をクリックしてください☆\n\n})});
  689.     };
  690.  
  691. %RETRY{
  692.     loop    ({
  693.         footnote({再度設定内容の確認処理中,,,♪});
  694.         SNDMSG({erande.snd});
  695.         select    ({    設定メニューを選んでネ☆(^_^)/♪},
  696.             60,    {CDIR},
  697.             { アクセスポイント・電話番号の設定(AP)},
  698.             {CDIR; setTEL; im({Yes})},
  699.             {NIFTY&モデムに関する設定(NIFTY)},
  700.             {CDIR; setNIFTY; im({Yes})},
  701.             {  氏名・性別・生年月日 (NAME)},
  702.             {CDIR; setNAME; im({Yes})},
  703.             { 住所・方書・電話番号 (ADDRESS)},
  704.             {CDIR; setADRS; im({Yes})},
  705.             { 勤務先・所属・電話番号(OFFICE)},
  706.             {CDIR; setOFFICE; im({Yes})},
  707.             {  クレジットカード・会員番号(CLEDIT)},
  708.             {CDIR; setCLEDIT; im({Yes})},
  709.             {  使用機種・メーカ名 (MACHINE)},
  710.             {CDIR; setMACHINE; im({Yes})},
  711.             {   操作説明(マニュアル)をみる   },
  712.             {CDIR;    #HELP.PLP; im({Yes})},
  713.             {    終   了 ( メイン・メニューへ )},{im({No})});
  714.         });
  715.     writeSET({USER_SET.SET});
  716.     };
  717.  
  718. %setTRY    {
  719.     setTEL;
  720.     setNIFTY;
  721.     setNAME;
  722.     setADRS;
  723.     setOFFICE;
  724.     setCLEDIT;
  725.     setMACHINE;
  726.     writeSET({USER_SET.SET}); 
  727.     };
  728.  
  729. /*    ヘルプ画面表示の選択    */
  730. %HELP{
  731.     footnote({メニューをマウス左クリックで選択してください});
  732.     SNDMSG({erande.snd});
  733.     select    ({    メニューを選んでネ☆(^_^)/♪},
  734.         ,,
  735.         { 操作説明(マニュアル)をみる },{CDIR;#HELP.PLP;},
  736.         {   先へ進む ( 初期設定 ) },{});
  737.     };
  738.  
  739. /*    オープニング画面表示    */
  740. %setBEGIN{
  741.     loop    ({
  742.         footnote({N.O.S.オープニング ,,,♪});
  743.         SNDMSG({BELL.SND});
  744.         %a @plane(
  745.         {c  ゚・。.。・゚・。.。・゚・。.。・゚・。.。・゚・。.。・゚・。.。・゚゚・。.。・゚・。.。・゚\n}|
  746.         {c  ☆☆オートパイロットマクロの世界へようこそ!!☆☆\n}|
  747.         {c  ゚・。.。・゚・。.。・゚・。.。・゚・。.。・゚・。.。・゚・。.。・゚゚・。.。・゚・。.。・゚\n}|
  748.         {c このマクロは、通信開始前に必要な項目の設定をおこな\n}|
  749.         {c  うことで、NIFTY-Serveのオンラインサイン\n}|
  750.         {c  アップの手続きをオートで実行します(^_^)\n}|
  751.         {c\n}|
  752.         {c  < 入力の方法について >\n}|
  753.         {c  青色の[        ]・・・ キーボードから入力\n}|
  754.         {c  青色の[選択ボタン]・・・ マウス左クリックで一覧メニューを表示\n}|
  755.         {c  赤色の[ ●ボタン ]・・・ マウス左クリックで項目を選択\n}|
  756.         {c  その他、青色の各メニューは、マウス左クリックで選択\n}|
  757.         {c (マウス右クリックで指定をキャンセルします)\n}|
  758.         {c\n}|
  759.         {s  宜しければ[次頁]ボタンをマウス左クリックで次へ進む→ / 次頁 },
  760.         );
  761.         %ok    @head(@getline(a,1,1),{\n});
  762.         case(ok,{ 1},{HELP;im({No})},,{im({Yes})});
  763.         });
  764.     };
  765.  
  766. %READFILE{
  767.     case    (@filechk(SETFILE),
  768.         {Yes},{CDIR; #USER_SET.SET; init;},
  769.         {No}, 
  770.         {case    (@filechk({A:\NOS\USER_SET.SET}),
  771.             {Yes},{CDIR; #A:\NOS\USER_SET.SET; init;},
  772.             {No}, 
  773.             {CDIR; #INIT_SET.SET; setINIT; init; setTRY;
  774.             });
  775.         });
  776.     };
  777.  
  778. /************************************************************************
  779. *        メインメニュー    処理                    *
  780. *************************************************************************/
  781. %cdir    @getcdir;
  782. %CDIR    {setcdir(cdir)};
  783.  
  784. %NOSMAIN{
  785.     display({\nN.O.S.(}|VerLev|{) を開始します(^_^)/♪\n});
  786.     display({開始時刻は -}|@getchar(@daylong,16,8)|{- です\n});
  787.     DELAllMemo;
  788.     setBEGIN;
  789.     SETFILE:=@dir2(cdir)|{USER_SET.SET};
  790.     READFILE;
  791.     CDIR;
  792.     loop    ({
  793.     footnote({*** Nifty Offline Signup *** }|VerLev);
  794.         SNDMSG({erande.snd});
  795.         select    ({  処理メニューを選んでネ☆(^_^)/♪},
  796.             60,    {CDIR},
  797.             {[1]  初期環境設定を行う          ( INIT )},
  798.             {CDIR;    case(mopver={T-OS},{Yes},{setINIT; setCOLOR;});
  799.             init; im({Yes})},
  800.             {[2]  最初から設定を行う          (  TRY  )},
  801.             {CDIR; setTRY; im({Yes})},
  802.             {[3] 再度 設定内容を確認する    ( RETRY )},
  803.             {CDIR;    READFILE; RETRY; im({Yes})},
  804.             {[4] 全ての設定項目を保存する     ( SAVE )},
  805.             {writeSET({USER_SET.SET}); im({Yes})},
  806.             {[5]NIFTY-Serveへ接続開始( CONNECT )},
  807.             {READFILE; MSGDSP; CDIR; #CONNECT.PLP;init; im({Yes})},
  808.             {[6] 操作説明(マニュアル)をみる      ( HELP )},
  809.             {CDIR;    #HELP.PLP; im({Yes})},
  810.             {[7]     終      了              ( EXIT )},
  811.             {CDIR;    PLTSTOP; im({No})}
  812.             );
  813.         });
  814.     };
  815.  
  816. footnote({N.O.S.起動中,,,♪});
  817. case    (@mlast > 0,
  818.     {Yes},
  819.     {
  820.     SNDMSG    ({kakunin.snd});
  821.     select    ({編集中のメモを削除する?},
  822.         999,{im({No})},
  823.         {  す る   },{NOSMAIN},
  824.         { しない },
  825.         {
  826.         SNDMSG({BELL.SND});
  827.         footnote({N.O.S.の起動中止します(PF2キーで再起動)});
  828.         PLTSTOP;
  829.         wait(2);
  830.         });
  831.     },
  832.     {No},{NOSMAIN}
  833.     );
  834.